﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Data.Objects;
using System.Text;
using EDiamondModel;
/// <summary>
/// Summary description for BLBaiViet
/// </summary>

namespace EDiamondModel
{
    public partial class BLBaiViet
    {
        private static EDiamondEntities1 db = new EDiamondEntities1();
        #region Các phương thức đọc
        public static BaiViet DocTheoID(int id)
        {
            BaiViet entity = db.BaiViets.FirstOrDefault(p => p.BaiVietID == id);
            return entity;

        }
        public static IList<BaiViet> Doc()
        {
            return db.BaiViets.ToList();
        }
        public static IList<BaiViet> Doc(Func<BaiViet, bool> dieukien)
        {
            return db.BaiViets.Where(dieukien).ToList();
        }
        #endregion

        #region Các phương thức Cập nhật
        public static BaiViet TaoDong()
        {
            return db.BaiViets.CreateObject();
        }
        public static void Them(BaiViet entity, bool ghi = false)
        {
            db.AddToBaiViets(entity);
            if (ghi) db.SaveChanges();
        }
        public static void Ghi()
        {
            db.SaveChanges();
        }
        public static void Xoa(int id)
        {
            try
            {
                BaiViet entity = db.BaiViets.SingleOrDefault(p => p.BaiVietID == id);
                db.BaiViets.DeleteObject(entity);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion

        #region Các phương thức Kiểm tra hợp lệ
        public static void KiemtraDuLieu(BaiViet entity)
        {
            StringBuilder errMessage = new StringBuilder();
            if (string.IsNullOrEmpty(entity.TuaBaiViet))
            {
                errMessage.AppendLine("Tựa bài viết không được rỗng");

            }

            if (!string.IsNullOrEmpty(errMessage.ToString()))
            {
                throw new Exception(errMessage.ToString());
            }
        }
        #endregion
        public BLBaiViet()
        {
            //
            // TODO: Add constructor logic here
            //
        }
    }
}